Machine learning schemes can be trained to classify objects using training data. For example, a support vector machine (SVM) can be trained on images of railroad tie-plates. After the SVM is trained, it can receive an image of a tie-plate and output a likelihood that the imaged tie-plate is of a given type.